/* 深空蓝背景 + 荧光绿文字 */
body {
    margin: 0;
    background: #0a0a0f;
    color: #00ffcc;
    font-family: "Courier New", monospace;
    overflow: hidden;
}
/* 扫描线 */
body::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: repeating-linear-gradient(
        0deg,
        rgba(0,255,204,0.03) 0px,
        transparent 1px,
        transparent 2px,
        rgba(0,255,204,0.03) 3px
    );
    pointer-events: none;
    z-index: 999;
}
.container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr auto auto;
    height: 100vh;
    gap: 10px;
    padding: 10px;
    box-sizing: border-box;
}
.panel {
    border: 1px solid #00ffcc;
    box-shadow: 0 0 10px #00ffcc, inset 0 0 5px #00ffcc;
    padding: 10px;
    background: rgba(0,30,30,0.7);
}
.video-panel {
    grid-row: 1;
    grid-column: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}
.video-panel img {
    width: 100%;
    height: auto;
}
.data-panel {
    grid-row: 1;
    grid-column: 2;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    font-size: 1.5em;
}
.ctrl-panel {
    grid-row: 2;
    grid-column: 1 / 3;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.mid-row {
    display: flex;
    align-items: center;
}
.dir-btn, .device-btn {
    background: #001e1e;
    border: 1px solid #00ffcc;
    color: #00ffcc;
    padding: 15px 25px;
    margin: 5px;
    cursor: pointer;
    font-size: 1.2em;
    transition: all 0.2s;
}
.dir-btn:hover, .device-btn:hover {
    background: #00ffcc;
    color: #0a0a0f;
    box-shadow: 0 0 15px #00ffcc;
}
.device-panel {
    grid-row: 3;
    grid-column: 1 / 3;
    display: flex;
    justify-content: center;
}
/* 故障闪烁 */
@keyframes glitch {
    0%   { opacity: 1; }
    92%  { opacity: 1; }
    93%  { opacity: 0; }
    94%  { opacity: 1; }
    96%  { opacity: 0; }
    97%  { opacity: 1; }
}
body::after {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(255,0,102,0.08);
    mix-blend-mode: screen;
    pointer-events: none;
    animation: glitch 7s infinite;
}